package br.com.diego.system.controller.autenticacao;

import br.com.diego.system.entity.usuario.Usuario;
import br.com.diego.system.manager.autenticacao.AutenticacaoManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;

public class AutenticacaoBuilder {

    @Autowired
    private AutenticacaoManager autenticacaoManager;
    
    private Usuario usuario;

    public void buildAcessar(AutenticacaoVo autenticacaoVo) {

        Assert.notNull(autenticacaoVo, "Usuário não encontrado.");
        Assert.hasText(autenticacaoVo.getUsuarioVo().getEmail(), "E-mail é um campo obrigatório.");
        Assert.hasText(autenticacaoVo.getUsuarioVo().getSenha(), "Senha é um campo obrigatório.");
        
        usuario = new Usuario();

        usuario.setEmail(autenticacaoVo.getUsuarioVo().getEmail());
        usuario.setSenha(autenticacaoVo.getUsuarioVo().getSenha());

        Assert.notNull(autenticacaoManager.acessar(usuario), "Usuário Inválido.");

    }
}
